home *** CD-ROM | disk | FTP | other *** search
- /* $Id: pltick.c,v 1.6 1994/06/30 18:22:22 mjl Exp $
- * $Log: pltick.c,v $
- * Revision 1.6 1994/06/30 18:22:22 mjl
- * All core source files: made another pass to eliminate warnings when using
- * gcc -Wall. Lots of cleaning up: got rid of includes of math.h or string.h
- * (now included by plplot.h), and other minor changes. Now each file has
- * global access to the plstream pointer via extern; many accessor functions
- * eliminated as a result.
- *
- * Revision 1.5 1994/03/23 08:35:11 mjl
- * All external API source files: replaced call to plexit() on simple
- * (recoverable) errors with simply printing the error message (via
- * plabort()) and returning. Should help avoid loss of computer time in some
- * critical circumstances (during a long batch run, for example).
- */
-
- /* pltick.c
-
- Routines for drawing error bars and tick marks.
- */
-
- #include "plplotP.h"
-
- /*----------------------------------------------------------------------*\
- * void plxtik()
- *
- * Draws a tick parallel to x.
- \*----------------------------------------------------------------------*/
-
- void
- plxtik(PLINT x, PLINT y, PLINT below, PLINT above)
- {
- plP_draphy(x, y);
-
- if (below != 0)
- plP_draphy(x, y - below);
-
- if (above != 0)
- plP_draphy(x, y + above);
-
- plP_draphy(x, y);
- }
-
- /*----------------------------------------------------------------------*\
- * void plytik()
- *
- * Draws a tick parallel to y.
- \*----------------------------------------------------------------------*/
-
- void
- plytik(PLINT x, PLINT y, PLINT left, PLINT right)
- {
- plP_draphy(x, y);
-
- if (left != 0)
- plP_draphy(x - left, y);
-
- if (right != 0)
- plP_draphy(x + right, y);
-
- plP_draphy(x, y);
- }
-
- /*----------------------------------------------------------------------*\
- * void plstik()
- *
- * Draws a slanting tick at position (mx,my) (measured in mm) of
- * vector length (dx,dy).
- \*----------------------------------------------------------------------*/
-
- void
- plstik(PLFLT mx, PLFLT my, PLFLT dx, PLFLT dy)
- {
- plP_draphy(plP_mmpcx(mx), plP_mmpcy(my));
- plP_draphy(plP_mmpcx((PLFLT) (mx + dx)), plP_mmpcy((PLFLT) (my + dy)));
- plP_draphy(plP_mmpcx(mx), plP_mmpcy(my));
- }
-
- /*----------------------------------------------------------------------*\
- * void plerx1()
- *
- * Plot single horizontal error bar.
- \*----------------------------------------------------------------------*/
-
- static void
- plerx1(PLFLT xmin, PLFLT xmax, PLFLT y)
- {
- PLINT yminor;
-
- yminor = MAX(1.0, plsc->minht * plsc->ypmm);
- plP_movwor(xmin, y);
- plxtik(plP_wcpcx(xmin), plP_wcpcy(y), yminor, yminor);
- plP_drawor(xmax, y);
- plxtik(plP_wcpcx(xmax), plP_wcpcy(y), yminor, yminor);
- }
-
- /*----------------------------------------------------------------------*\
- * void plery1()
- *
- * Plot single vertical error bar.
- \*----------------------------------------------------------------------*/
-
- static void
- plery1(PLFLT x, PLFLT ymin, PLFLT ymax)
- {
- PLINT xminor;
-
- xminor = MAX(1.0, plsc->minht * plsc->xpmm);
- plP_movwor(x, ymin);
- plytik(plP_wcpcx(x), plP_wcpcy(ymin), xminor, xminor);
- plP_drawor(x, ymax);
- plytik(plP_wcpcx(x), plP_wcpcy(ymax), xminor, xminor);
- }
-
- /*----------------------------------------------------------------------*\
- * void plerrx()
- *
- * Plot horizontal error bars (xmin(i),y(i)) to (xmax(i),y(i)).
- \*----------------------------------------------------------------------*/
-
- void
- c_plerrx(PLINT n, PLFLT *xmin, PLFLT *xmax, PLFLT *y)
- {
- PLINT i;
-
- if (plsc->level < 3) {
- plabort("plerrx: Please set up window first");
- return;
- }
-
- for (i = 0; i < n; i++)
- plerx1(xmin[i], xmax[i], y[i]);
- }
-
- /*----------------------------------------------------------------------*\
- * void plerry()
- *
- * Plot vertical error bars (x,ymin(i)) to (x(i),ymax(i)).
- \*----------------------------------------------------------------------*/
-
- void
- c_plerry(PLINT n, PLFLT *x, PLFLT *ymin, PLFLT *ymax)
- {
- PLINT i;
-
- if (plsc->level < 3) {
- plabort("plerry: Please set up window first");
- return;
- }
-
- for (i = 0; i < n; i++)
- plery1(x[i], ymin[i], ymax[i]);
- }
-